﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Hinacom.Scheduler
{
    /// <summary>
    /// 对Quartz JobStore的一些扩展方法
    /// </summary>
    public interface IJobStoreExt
    {
        /// <summary>
        /// 保存一次任务执行记录。
        /// </summary>
        /// <param name="history">任务执行记录</param>
        void SaveJobHistory(JobHistory history);
        /// <summary>
        /// 获取指定任务的执行记录。每次加载20条。
        /// </summary>
        /// <param name="jobname">任务名</param>
        /// <param name="jobgroup">任务从属的组</param>
        /// <param name="lastLoadedId">上一次加载最后一条记录的Id。</param>
        /// <returns>任务的执行记录</returns>
        IEnumerable<JobHistory> GetJobHistories(string jobname, string jobgroup, int? lastLoadedId);
        /// <summary>
        /// 获取任务执行的详细日志。
        /// </summary>
        /// <param name="historyId">任务历史Id</param>
        /// <returns>详细日志</returns>
        string GetJobHistoryLog(int historyId);
    }
}
